================================
Lasso Professional Server 8.5
Change Notes

Version: 8.5.5
Release: March 18, 2008
================================

- Introduction
- New Features
- Updated Features and Fixes


--------------------------------
Introduction
--------------------------------

Lasso Professional 8.5.5 is a free update to Lasso Professional 8.5 which is recommended for all users. This update includes updates to Lasso's installer so it will support new operating systems including Mac OS X 10.5 Leopard as well as minor fixes, updates, and documentation updates. Consult the Lasso 8.5 Setup Guide and Lasso 8.5 Language Guide for information about the new features in this version.


--------------------------------
New Features
--------------------------------

- A new tag [MIME_Type] will return the MIME type for a file extension. The tag accepts a file name or a file extension. For example [MIME_Type: 'myfile.gif'] will return image/gif. The MIME types are adapated from the Apache mime.types file Based on data from the Internet media type registry at: http://www.iana.org/assignments/media-types/.

- A new tag [Image->ColorSpace] will return the current color space of an image. The response should be RGB, CMYK, GRAY.

- A new tag [Image->SetColorSpace] will set the color space of an image. The tag takes one parameter which should be -RGB, -CMYK, or -GRAY.

- [Email_Parse->Body] will now return an array of all applicable body parts when the -Array parameter is specified. For example, [Email_Parse->(Body: -Array, -Type='text/html')] will return all HTML body parts. [6567]

- [Match_Comparator] now accepts any of the standard inline search operators as an abbreviation for the built-in comparators. For example, [Array->(Find: (Match_Comparator: -bw, 'j'))] will find all array elements which begin with the letter "j". The built-in comparators include -CN, -NCN, -EQ, -NEQ, -LT, -LTE, -GT, -GTE, -BW, -NBW, -EW, -NEW, -RX, and -NRX.

- New comparators include [Compare_LessThanOrEquals], [Compare_GreaterThanOrEquals], [Compare_NotBeginsWith], [Compare_NotEndsWith], [Compare_RegExp], and [Compare_NotRegeExp].

Special thanks to Bil Corry for several new PDF features and fixes.

- [PDF_Color] is a new type which can be used to set RGB, CMYK, grayscale, or spot colors in any of the PDF tags which accept a -Color parameter.  A color can be specified in the [PDF_Doc->SetColor] tag as [$PDF_Doc->(SetColor: 'stroke' $PDF_Color)].

   [PDF_Color: 'rgb', red, green, blue] creates an RGB color.  The color values should be specified as decimals between 0.0 and 1.0.

   [PDF_Color: 'cmyk', cyan, magenta, yellow, black] creates a CMYK color. The color values should be specified as decimals between 0.0 and 1.0.

	[PDF_Color: 'gray', intensity] creates a shade of gray. The intensity should be specified as a decimal between 0.0 and 1.0.  The type can be spelled as either 'gray' or 'grey'.

   [PDF_Color: 'spot', name, tint, pdf_color] creates a spot color. The name is a string identifying the Pantone name of the color or other name which your printer will recognize. The tint should be specified as a decimal between 0.0 and 1.0.  The final parameter allows you to specify an rgb, cmyk, or gray [PDF_Color] which approximates the color.

- Rotated text can now be added to the PDF by specifying a -Rotate parameter to the [PDF_Doc->Add] tag.  The rotation is specified as degress counter-clockwise from horizontal.

	[$PDF_Doc->(Add: $text, -Rotate=10.0)]

- The [PDF_Doc->Rect] tag can now be used to draw rectangles with rounded corners. A fifth optional parameter specifies the radius for the rounded corner.

	[$PDF_Doc->(Rect: X, Y, W, H, R)]
	[$PDF_Doc->(Rect: X, Y, W, H, R, -Fill)]

- The [Auth_...] tags now accept a -Transparent parameter which allows the underlying page to be shown to the user if the authorization fails.  When -Transparent is used the -ErrorResponse and -NoAbort parameters are ignored.


--------------------------------
Updated Features and Fixes
--------------------------------

- Linux stability has been improved.  An issue which could cause Lasso on Linux to crash has been corrected.  Lasso's signal handling has been improved.  Lasso's error handling has been improved.  An error in the lasso8ctl script has been corrected.

- An issue which could cause Lasso to spin while processing regular expressions with extended characters has been corrected.

- An issue with [File_Stream] has been corrected.  This reverts an earlier change.  It may still be possible for content from an aborted include to leak into a file served by [File_Stream].  For best results the [File_Stream] tag should be in the Lasso page triggered by the browser rather than in an included file. [6679]

- A refresh should no longer be necessary after performing a batch table encoding change in Lasso Site Administration.

- An issue which prevented the iCal tags from working to construct calendars from scratch has been corrected.

- Fixed a bug with [PDF_Doc->Circle] where the circle wouldn't be added to the page.

- Fixed a bug with rotating an imported PDF where the PDF wouldn't be rotated.

- An issue which could cause corruption of multi-part form data has been corrected.

- [DNS_Lookup] now supports -Type='aaaa' to look up IPv6 addresses.

- [Client_IP] now supports comparisons against IPv6 addresses. Equivalent addresses in IPv4 and IPv6 should be recognized as equal.  

	[Client_IP == 'ffff::*:*']

- The number of capture groups permitted in [String_ReplaceRegExp] has been raised from 9 to over 16000. This permits capture group numbers greater than 9 to be used. For example, "\20" would return the 20th capture group. In order to select a capture group in ambiguous circumstances, the group number can be surrounded in curly brackets. For example, this pattern matches each of the 26 letters in the alphabet. The replacement pattern replaces the entire alphabet with the 20th character surrounded by zeroes.

	[String_ReplaceRegExp(-Find=('(.)'*26), -Replace='0\\{20}0', 		
		'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')]
	--> 0T00t0

- A bug which caused [Field: 'recordid'] to return the current record ID value rather than the value of the "recorid" field has been corrected.

- An issue which could cause results from any data source to be returned in the wrong character through the [ResultSet] tags has been corrected.

- Stability has been improved.  Several memory leaks in the XML type and the built-in SQLite data source have been corrected.

- Additional improvements to the Unicode support for Microsoft SQL server on Windows have been made.  However, we are still tracking an issue using -SQL statements on Windows.

- An issue with XML-RPC deserialization, which was introduced in beta 3, has been fixed.

- Lasso should no longer crash on Linux. Lasso has been switched to use a different thread model so tools like "ps" will show many Lasso8Service processes. This is normal.

- Unicode support for Microsoft SQL Server has been improved.  On Windows, Unicode data is fully supported.  On Mac OS X or Linux, Unicode data is supported in everything except for nText columns.  It is recommended to use ODBC to access Microsoft SQL Server from Mac OS X and Linux if full Unicode support is required.

- The [KeyField_Value] should now be reported by the Microsoft SQL Server, Oracle, OpenBase, and ODBC data sources after an -Add or an -Update action.

- The -UseLimit tag should now work properly with the Microsoft SQL server data source.

- The iCal tags will no longer cause a recursion depth limit when parsing an alarm.

- The cache tags have been modified in order to be thread safe. This should prevent a crash or data corruption which could occur on a busy server using the cache tags. Thanks to Johan Slve for this fix.

- Email - HTML images embedded in a message using the -HTMLImages parameter will now use the proper MIME type for their file extension. The [MIME_Type] tag is used to look up the MIME type.

- The [File_Serve] tag will now use the proper MIME type for most files based on their file extension. The [MIME_Type] tag is used to look up the MIME type.

- XML-RPC is now more forgiving of XML encoding differences. [6593]

- A crash which could occur when serializing data has been corrected.

- The -Thumbnail parameter will now be ignored when changing the size of CMYK images. This prevents an issue where the image colors would be inverted. -Thumbnail still works for RGB images.

- The embedded SQLite data source has been updated to version 3.5.2.

- The SQLAPI++ library used in the connectors for Microsoft SQL Server, Oracle, OpenBase, and ODBC has been updated to version 3.7.23.

- Leopard - The connector for the built-in Apache 2.2 server on Mac OS X 10.5 has been updated to a quad-build Universal binary including both 32-bit and 64-bit builds of the connector.

- Fixed problem where certain table level encoding settings could cause -SQL inlines to fail.

- Linux - Fixed problem where thread termination via execution time limit could cause LassoService to exit. [6707]

- Windows - Internal SQLAPI library has been upgraded to version 3.7.23.

- Division by zero on Linux will now produce a divide by zero error rather than returning an infinite value. [6710]

- Custom data sources can now be initialized using a -Host array in an inline. [6775]

- [Stock_Quote] should now work properly. [6716]

- [Valid_Date] is now more strict when a -Format parameter is specified. The date is now formatted using the specified -Format parameter and compared to the input. The only allowed variations are leading zeroes or spaces in date/time parts. [6650]

- [Valid_Date] will return False for any inputs which do not contain at least one letter or number. This prevents some inputs like "--" from being seen as valid dates. [6649]

- The iCal tags should now fold and unfold long lines properly and will handle escaping the reserved characters backslash, colon, and comma properly. [6713]

- Matchers and Comparators should now work properly on arrays of pairs including keyword/value pairs such as those in [Action_Params]. For example, [Action_Params->(RemoveAll: (Match_Comparator: -bw, '-')) &] will strip all keyword/value pairs out of the current [Action_Params] array. [6772]


================================
Copyright  2008 LassoSoft, LLC. All rights reserved.
